An Imperative Language with Read/Write Type Modes

نویسنده

  • Paul Roe
چکیده

Reading and writing of data is fundamental in computing, as is its control. However control of reading and writing has traditionally only been available at the level of le systems, and not programming language data structures. In this paper a simple imperative language is described which uses type modes to control reading and writing of data. A type may be labelled read-write or read-only; a read-only type is guaranteed by the type system not to be written. Furthermore a read-write type may be treated read-only in a sub-context. To achieve this implicit aliasing is prevented and the program heap is partitioned into collections. Collections form a unit of read-write control of heap allocated data, by isolating diierent heap regions. Collections were originally introduced in the Euclid and Turing programming languages for aliasing control; however this was rather restrictive and not strictly enforced. Controlling aliasing is beneecial in its own right since aliasing is a common source of programming errors.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Sub-threshold 9T SRAM Cell with High Write and Read ability with Bit Interleaving Capability

This paper proposes a new sub-threshold low power 9T static random-access memory (SRAM) cell compatible with bit interleaving structure in which the effective sizing adjustment of access transistors in write mode is provided  by isolating writing and reading paths. In the proposed cell, we consider a weak inverter to make better write mode operation. Moreover applying boosted word line feature ...

متن کامل

HLCL'98 to appear A Concurrent Object Calculus: Reduction and Typing

We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from the -calculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it uni es notions of expression, process, store, thread, and con guration. We present a chemical-s...

متن کامل

The Constraint Imperative Programming Language Turtle

The goal of declarative programming is to provide languages and implementations which let the programmer write programs by specifying what the properties of the desired solutions should be. In imperative languages, the calculation steps leading to the solutions must be programmed explicitly. The programming language Turtle combines traditional imperative language constructs and declarative cons...

متن کامل

Checking Interference with Fractional Permissions

We describe a type system for checking interference using the concept of linear capabilities (which we call “permissions”). Our innovations include the concept of “fractional” permissions: reads can be permitted with fractional permissions whereas writes require complete permissions. This distinction expresses the fact that reads on the same state do not conflict with each other. One may give s...

متن کامل

A Concurrent Object Calculus: Reduction and Typing

We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli’s imperative object calculus with operators for concurrency from the -calculus and operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it unifies notions of expression, process, store, thread, and configuration. We present a chemical-styl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997